package collection;
/** list方法 */
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/**  */
public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list.add("one");

        //E get(int index):获取制定下标的元素
        String s = list.get(0);
        System.out.println("指定元素是:"+s);

        for(int i = 0;i<list.size();i++){
            System.out.println(list.get(i));
        }

        Iterator<String> it = list.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }

        for(String str: list ){
            System.out.println(str);
        }

        System.out.println("-------------------------分割线---------------------------------");

        //E set(int index,E e):将给定元素设置到指定位置，返回被替换的元素---一般不接收
        //list.set(2,"six)//将list中的下标为2的元素设置为six---常规用法
        String old = list.set(2,"six");//将list中下标为2的元素设置为six，同时将原数据返回old
        System.out.println("list"+list);//[one,two,six,four,five,one]
        System.out.println(old);//three

        /*
          E remove(int index)
          删除指定位置元素，并返回指定位置元素
         */
        //list.remove(2);//删除下标为2的元素----常规用法
        String str = list.remove(2);//删除下标为2的元素，并将被删除元素返回给s
        System.out.println("list:"+list);//[one,two,four,five,one]
        System.out.println("str:"+str);//six

        /*
          void add(int index,E e):
          将给定元素e添加到index所指的位置，相当于插入操作
         */
        list.add(3,"牛逼");//在list下标为3的位置插入牛逼
        System.out.println("list:"+list);//[one,two,four,牛逼，five，one]
    }
}
